// 储存watcher对象的，因为一个响应式数据很可能对应多个view,所以当一个响应式数据改变时，需要触发每一个watcher来更新view

class Dep {
    constructor() {
        this.subs = [];
    }

    addSub(sub) {
        // 有一个update方法的才是watcher
        if (sub && sub.update) {
            this.subs.push(sub);
        }
    }

    // 当响应式数据被改变时，通知所有的watcher更新view
    notify() {
        this.subs.forEach(sub => sub.update())
    }
}